﻿using System;
using System.Collections.Generic;
using System.IO;

// Token: 0x020002CA RID: 714
[Serializable]
public class CharFileInfoParameterFemale : global::CharFileInfoParameter
{
	// Token: 0x0600115F RID: 4447 RVA: 0x0008CDF4 File Offset: 0x0008AFF4
	public CharFileInfoParameterFemale()
	{
		this.MemberInitialize();
	}

	// Token: 0x06001160 RID: 4448 RVA: 0x0008CE54 File Offset: 0x0008B054
	public new virtual void MemberInitialize()
	{
		base.MemberInitialize();
		for (int i = 0; i < 4; i++)
		{
			this.genericVoice[i] = new bool[3];
		}
	}

	// Token: 0x06001161 RID: 4449 RVA: 0x0008CE88 File Offset: 0x0008B088
	public override bool SaveSub(BinaryWriter bw)
	{
		bw.Write(this.favor);
		bw.Write(this.lewdness);
		bw.Write(this.aversion);
		bw.Write(this.slavery);
		bw.Write(this.broken);
		bw.Write((int)this.nowState);
		bw.Write(this.lockNowState);
		bw.Write(this.lockBroken);
		bw.Write(this.dirty);
		bw.Write(this.tiredness);
		bw.Write(this.toilette);
		bw.Write(this.libido);
		bw.Write(this.alertness);
		bw.Write((int)this.calcState);
		bw.Write(this.escapeFlag);
		bw.Write(this.escapeExperienced);
		bw.Write(this.firstHFlag);
		bw.Write(this.hCount);
		bw.Write(this.map.Count);
		for (int i = 0; i < this.map.Count; i++)
		{
			bw.Write(this.map[i]);
		}
		bw.Write(this.resistH);
		bw.Write(this.resistPain);
		bw.Write(this.resistAnal);
		bw.Write(this.usedItem);
		bw.Write(this.characteristic);
		bw.Write(this.impression);
		bw.Write(this.attribute);
		for (int j = 0; j < 4; j++)
		{
			for (int k = 0; k < 3; k++)
			{
				bw.Write(this.genericVoice[j][k]);
			}
		}
		bw.Write(this.genericFlag);
		bw.Write(this.genericBefore);
		for (int l = 0; l < 5; l++)
		{
			bw.Write(this.inviteVoice[l]);
		}
		bw.Write(this.InitParameter);
		return true;
	}

	// Token: 0x06001162 RID: 4450 RVA: 0x0008D07C File Offset: 0x0008B27C
	public override bool LoadSub(BinaryReader br, int parameterVer)
	{
		if (2 <= parameterVer)
		{
			this.favor = br.ReadInt32();
			this.lewdness = br.ReadInt32();
			this.aversion = br.ReadInt32();
			this.slavery = br.ReadInt32();
			this.broken = br.ReadInt32();
			this.nowState = (global::CharFileInfoParameterFemale.State)br.ReadInt32();
			this.lockNowState = br.ReadBoolean();
			this.lockBroken = br.ReadBoolean();
			this.dirty = br.ReadInt32();
			this.tiredness = br.ReadInt32();
			this.toilette = br.ReadInt32();
			this.libido = br.ReadInt32();
			this.alertness = br.ReadInt32();
			this.calcState = (global::CharFileInfoParameterFemale.State)br.ReadInt32();
			this.escapeFlag = br.ReadByte();
			if (4 <= parameterVer)
			{
				this.escapeExperienced = br.ReadBoolean();
			}
			this.firstHFlag = br.ReadBoolean();
			this.hCount = br.ReadInt32();
			int num = br.ReadInt32();
			this.map.Clear();
			for (int i = 0; i < num; i++)
			{
				this.map.Add(br.ReadInt32());
			}
			this.resistH = br.ReadInt32();
			this.resistPain = br.ReadInt32();
			this.resistAnal = br.ReadInt32();
			this.usedItem = br.ReadInt32();
			this.characteristic = br.ReadInt32();
			this.impression = br.ReadInt32();
			this.attribute = br.ReadInt32();
		}
		if (3 <= parameterVer)
		{
			for (int j = 0; j < 4; j++)
			{
				for (int k = 0; k < 3; k++)
				{
					this.genericVoice[j][k] = br.ReadBoolean();
				}
			}
			this.genericFlag = br.ReadBoolean();
		}
		if (4 <= parameterVer)
		{
			this.genericBefore = br.ReadBoolean();
			for (int l = 0; l < 5; l++)
			{
				this.inviteVoice[l] = br.ReadBoolean();
			}
		}
		if (5 <= parameterVer)
		{
			this.InitParameter = br.ReadBoolean();
		}
		return true;
	}

	// Token: 0x04001723 RID: 5923
	public int favor;

	// Token: 0x04001724 RID: 5924
	public int lewdness;

	// Token: 0x04001725 RID: 5925
	public int aversion;

	// Token: 0x04001726 RID: 5926
	public int slavery;

	// Token: 0x04001727 RID: 5927
	public int broken;

	// Token: 0x04001728 RID: 5928
	public global::CharFileInfoParameterFemale.State nowState = global::CharFileInfoParameterFemale.State.Blank;

	// Token: 0x04001729 RID: 5929
	public bool lockNowState;

	// Token: 0x0400172A RID: 5930
	public bool lockBroken;

	// Token: 0x0400172B RID: 5931
	public int dirty;

	// Token: 0x0400172C RID: 5932
	public int tiredness;

	// Token: 0x0400172D RID: 5933
	public int toilette;

	// Token: 0x0400172E RID: 5934
	public int libido;

	// Token: 0x0400172F RID: 5935
	public int alertness;

	// Token: 0x04001730 RID: 5936
	public global::CharFileInfoParameterFemale.State calcState = global::CharFileInfoParameterFemale.State.Blank;

	// Token: 0x04001731 RID: 5937
	public byte escapeFlag;

	// Token: 0x04001732 RID: 5938
	public bool escapeExperienced;

	// Token: 0x04001733 RID: 5939
	public bool firstHFlag;

	// Token: 0x04001734 RID: 5940
	public bool[][] genericVoice = new bool[4][];

	// Token: 0x04001735 RID: 5941
	public bool genericFlag = true;

	// Token: 0x04001736 RID: 5942
	public bool genericBefore = true;

	// Token: 0x04001737 RID: 5943
	public bool[] inviteVoice = new bool[5];

	// Token: 0x04001738 RID: 5944
	public int hCount;

	// Token: 0x04001739 RID: 5945
	public List<int> map = new List<int>();

	// Token: 0x0400173A RID: 5946
	public int resistH;

	// Token: 0x0400173B RID: 5947
	public int resistPain;

	// Token: 0x0400173C RID: 5948
	public int resistAnal;

	// Token: 0x0400173D RID: 5949
	public int usedItem;

	// Token: 0x0400173E RID: 5950
	public int characteristic;

	// Token: 0x0400173F RID: 5951
	public int impression;

	// Token: 0x04001740 RID: 5952
	public int attribute;

	// Token: 0x04001741 RID: 5953
	public bool InitParameter = true;

	// Token: 0x020002CB RID: 715
	public enum State
	{
		// Token: 0x04001743 RID: 5955
		Favor,
		// Token: 0x04001744 RID: 5956
		Lewdness,
		// Token: 0x04001745 RID: 5957
		Aversion,
		// Token: 0x04001746 RID: 5958
		Slavery,
		// Token: 0x04001747 RID: 5959
		Broken,
		// Token: 0x04001748 RID: 5960
		Blank
	}

	// Token: 0x020002CC RID: 716
	public enum Characteristic
	{
		// Token: 0x0400174A RID: 5962
		None,
		// Token: 0x0400174B RID: 5963
		Kireizuki,
		// Token: 0x0400174C RID: 5964
		Monogusa,
		// Token: 0x0400174D RID: 5965
		Tukareyasui,
		// Token: 0x0400174E RID: 5966
		Tukaresirazu,
		// Token: 0x0400174F RID: 5967
		Hinnyo,
		// Token: 0x04001750 RID: 5968
		Glassheart,
		// Token: 0x04001751 RID: 5969
		Fukutu,
		// Token: 0x04001752 RID: 5970
		Yokkyufuman
	}

	// Token: 0x020002CD RID: 717
	public enum Impression
	{
		// Token: 0x04001754 RID: 5972
		None,
		// Token: 0x04001755 RID: 5973
		Tanoshii,
		// Token: 0x04001756 RID: 5974
		Sukikamo,
		// Token: 0x04001757 RID: 5975
		Hitomebore,
		// Token: 0x04001758 RID: 5976
		kyoumiari,
		// Token: 0x04001759 RID: 5977
		Miryokuteki,
		// Token: 0x0400175A RID: 5978
		Dakaretai,
		// Token: 0x0400175B RID: 5979
		Hanasizurai,
		// Token: 0x0400175C RID: 5980
		Nigate,
		// Token: 0x0400175D RID: 5981
		Kirai,
		// Token: 0x0400175E RID: 5982
		Sijisaretai,
		// Token: 0x0400175F RID: 5983
		Meireisaretai,
		// Token: 0x04001760 RID: 5984
		Sakaraenai,
		// Token: 0x04001761 RID: 5985
		Tententen
	}

	// Token: 0x020002CE RID: 718
	public enum Attribute
	{
		// Token: 0x04001763 RID: 5987
		None,
		// Token: 0x04001764 RID: 5988
		Seiyokuousei,
		// Token: 0x04001765 RID: 5989
		Esu,
		// Token: 0x04001766 RID: 5990
		Emu,
		// Token: 0x04001767 RID: 5991
		MuneBinkan,
		// Token: 0x04001768 RID: 5992
		SiriBinkan,
		// Token: 0x04001769 RID: 5993
		KokanBinkan,
		// Token: 0x0400176A RID: 5994
		Kissyowai,
		// Token: 0x0400176B RID: 5995
		Sarerunoyowai,
		// Token: 0x0400176C RID: 5996
		Hannozuki,
		// Token: 0x0400176D RID: 5997
		Keppekisyou,
		// Token: 0x0400176E RID: 5998
		Hteikouari,
		// Token: 0x0400176F RID: 5999
		Sabisigariya
	}
}
